#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
# @Time    : 2022/7/12 4:03 下午
# @Author  : super_gou
# @File    : first.py
'''
字符串
'''
# a = 'hello world'
# b = "abcdefg"
# print(type(a))
# print(type(b))
#
# name3 = ''' Tom '''
# name4 = """ Rose """
# a = ''' i am Tom,
#  nice to meet you! '''
# b = """ i am Rose,
# nice to meet you! """
# c = "I'm Tom"
# d = 'I\'m Tom'
# print(name3,name4,a,b,c,d)
#
# print('hello world')
# name = 'Tom'
# print('我的名字是%s' % name)
# print(f'我的名字是{name}')

# name = input('请输⼊您的名字：')
# print(f'您输⼊的名字是{name}')
# print(type(name))
# password = input('请输⼊您的密码：')
# print(f'您输⼊的密码是{password}')
# print(type(password))

# name = 'abcdefg'
# print(name[2:5:1])
# print(name[2:5])
# print(name[:5])
# print(name[1:])
# print(name[:])
# print(name[::2])
# print(name[:-1])
# print(name[-4:-1])
# print(name[::-1])

# string.find(str)
# string:原字符串
# str:待查的目标子字符串
# find:字符串查找方法的语法关键字
#返回的是下标
# ﬁnd()：检测某个⼦串是否包含在这个字符串中，如果在返回这个⼦串开始的位置下标，否则则返
# 回-1。
# index()：检测某个⼦串是否包含在这个字符串中，如果在返回这个⼦串开始的位置下标，否则则
# 报异常。
# rﬁnd()： 和ﬁnd()功能相同，但查找⽅向为右侧开始。
# rindex()：和index()功能相同，但查找⽅向为右侧开始。
# count()：返回某个⼦串在字符串中出现的次数
# replace()：替换  字符串序列.replace(旧⼦串, 新⼦串, 替换次数)
# split()：按照指定字符分割字符串
# join()：⽤⼀个字符或⼦串合并字符串，即是将多个字符串合并为⼀个新的字符串。
# capitalize()：将字符串第⼀个字符转换成⼤写
# title()：将字符串每个单词⾸字⺟转换成⼤写
# lower()：将字符串中⼤写转⼩写
# upper()：将字符串中⼩写转⼤写
# lstrip()：删除字符串左侧空⽩字符
# rstrip()：删除字符串右侧空⽩字符
# strip()：删除字符串两侧空⽩字符
# ljust()：返回⼀个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串
# rjust()：返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串，语法和
# ljust()相同。
# center()：返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串，语
# 法和ljust()相同
# startswith()：检查字符串是否是以指定⼦串开头，是则返回 True，否则返回 False。如果设置开
# 始和结束位置下标，则在指定范围内检查
# endswith()：：检查字符串是否是以指定⼦串结尾，是则返回 True，否则返回 False。如果设置开
# 始和结束位置下标，则在指定范围内检查
# isalpha()：如果字符串⾄少有⼀个字符并且所有字符都是字⺟则返回 True, 否则返回 False。
# isdigit()：如果字符串只包含数字则返回 True 否则返回 False
# isalnum()：如果字符串⾄少有⼀个字符并且所有字符都是字⺟或数字则返 回 True,否则返回
# False。
# isspace()：如果字符串中只包含空⽩，则返回 True，否则返回 False
mystr = "hello world and supertest and chaoge and Python"
# print(mystr.find('and'))
# print(mystr.find('and', 15, 30))
# print(mystr.find('ands'))

# print(mystr.rfind('and'))
# print(mystr.rfind('and', 15, 30))
# print(mystr.rfind('ands'))
#
# print(mystr.index('and'))
# print(mystr.index('and', 15, 30))
# print(mystr.index('ands'))
#
# print(mystr.rindex('and'))
# print(mystr.rindex('and', 15, 30))
# print(mystr.rindex('ands'))

# print(mystr.count('and'))
# print(mystr.count('and', 15, 30))
# print(mystr.count('ands'))

# print(mystr.replace('and', 'he'))
# print(mystr.split('and'))
# print(mystr.split('and',2))
# print(mystr.split(' '))

# list1 = ['chao', 'ge', 'testdata', 'promotion']
# t1 = ('aa', 'b', 'cc', 'ddd')
# print('-'.join(list1))
# print(' '.join(t1))

# print(mystr.capitalize())
# print(mystr.title())
# print(mystr.lower())
# print(mystr.upper())
# print(mystr.lstrip())
# print(mystr.rstrip())
# print(mystr.strip())

# mystr1 = 'hello'
# print(mystr1.ljust(10,'.'))
# print(mystr1.rjust(10,'?'))
# print(mystr1.center(10,'<'))

# print(mystr.startswith('jdhjfh'))
# print(mystr.startswith('hello'))
# print(mystr.startswith('hello',5,44))

# print(mystr.endswith('python'))
# print(mystr.endswith('Python'))
# print(mystr.endswith('python',3,33))

# mystr1 = 'hello'
# mystr2 = 'hello12345'
# mystr3 = '12323'
# mystr4 = '   '

# print(mystr1.isalpha())
# print(mystr3.isdigit())
# print(mystr2.isalnum())
# print(mystr4.isspace())
#补充内容 不一定用得到 知识扩展
# isascii() 如果字符串为空或字符串中的所有字符都是 ASCII，则返回 True，否则返回 False
# isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象定义。一个十进制字符串，只需要在字符串前添加 'u' 前缀即可
# isidentifier()如果字符串是Python中的有效标识符，则isidentifier()方法返回True。如果不是，则返回False。
# islower() 方法检测字符串是否由小写字母组成
# istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
# isupper() 方法检测字符串中所有的字母是否都为大写
# snumeric() 方法检测字符串是否只由数字组成，数字可以是： Unicode 数字，全角数字（双字节），罗马数字，汉字数字
# isprintable()当字符串中存在的所有字符均为可打印类型或字符串为空时，这些方法返回“ True”，否则，返回布尔值“ False”。
# print(mystr4.isascii())
# print(mystr4.isdecimal())
# print(mystr4.isidentifier())
# print(mystr4.islower())
# print(mystr4.istitle())
# print(mystr4.isupper())
# print(mystr4.isnumeric())
# print(mystr4.isprintable())


# str1 = '10'
# str2 = '[1, 2, 3]'
# str3 = '(1000, 2000, 3000)'
# print(type(eval(str1)))
# print(type(eval(str2)))
# print(type(eval(str3)))

# age = int(input('请输⼊您的年龄：'))
# if age >= 18:
#     print(f'您的年龄是{age},已经成年，可以上⽹')
# else:
#     print(f'您的年龄是{age},未成年，请⾃⾏回家写作业')
# print('系统关闭')

# age = int(input('请输⼊您的年龄：'))
# if age < 18:
#     print(f'您的年龄是{age},童⼯⼀枚')
# elif age >= 18 and age <= 60:
#     print(f'您的年龄是{age},合法⼯龄')
# elif age > 60:
#     print(f'您的年龄是{age},可以退休')

# import random
#
# computer = random.randint(0, 2)
# print(computer)
# player = int(input('请出拳：0-⽯头，1-剪⼑，2-布：'))
# # 玩家胜利 p0:c1 或 p1:c2 或 p2:c0
# if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
#     print('玩家获胜')
# elif player == computer:
#     print('平局')
# else:
#     print('电脑获胜')

# i=0
# result = 0
# while i <= 100:
#     result += i
#     i += 1
# print(result)

# i=0
# result = 0
# while i <= 100:
#     result += i
#     i += 2
# print(result)

# i = 1
# result = 0
# while i <= 100:
#     if i % 2 == 0:
#         result += i
#     i += 1
# # 输出2550
# print(result)

# j = 0
# while j <= 4:
#     i = 0
#     while i <= 4:
#         print('*', end='')
#         i += 1
#     print()
#     j += 1

# j = 0
# while j <= 4:
#     i = 0
#     while i <= j:
#         print('*', end='')
#         i += 1
#     print()
#     j += 1

# j = 1
# while j <= 9:
#     i = 1
#     while i <= j:
#         print(f'{i}*{j}={j*i}', end='\t')
#         i += 1
#     print()
#     j += 1

# 第一天作业 三角形的不同样子（右对齐，上下颠倒，正三角形，菱形）
#右对齐三角形1
# n = int(input("请输入行数："))
# for i in range(1, n + 1):
#     print(" " * (n - i) + "*" * i)

#右对齐上下颠倒三角形
# n=int(input("请输入行数："))
# for i in range(n,0,-1):
#     print(" "*(n-i)+"*"*i)

#正三角形，空格补充空白位置，※的数量和行数有关：2n-1
# n=int(input("请输入行数："))
# for i in range(1,n+1):
#     print(" " * (n-i) + "*" * (2*i-1))

#方法二
# n=int(input("请输入行数："))
# for i in range(n,0,-1):
#     print(" "*(n-i)+"*"*(2*i-1))


"""
菱形
菱形=上正三角形-最后一行+下正三角形
"""
n=int(input("请输入菱形的边长："))
for i in range(1,n):
    print(" "*(n-i)+"*"*(2*i-1))
for j in range(n,0,-1):
    print(" "*(n-j)+"*"*(2*j-1))

